package farmaciaweb.com.br.entity;

import java.io.Serializable;
import java.lang.String;
import javax.persistence.*;


/**
 * Entity implementation class for Entity: EnderecoEntrega
 *
 */
@Embeddable
public class EnderecoEntrega implements Serializable {
	
	private static final long serialVersionUID = 8222422069980414772L;

	@Column(nullable = false, length = 100)
	private String logradouro;
	
	@Column(nullable = false, length = 30)
	private String cidade;
	
	@Embedded
	private Cep cep;
	
	public EnderecoEntrega() {
		super();
	}   
	public String getLogradouro() {
		return this.logradouro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}   
	public String getCidade() {
		return this.cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	
	public Cep getCep() {
		return cep;
	}
	public void setCep(Cep cep) {
		this.cep = cep;
	}
	
	@Override
	public String toString() {
		return "EnderecoEntrega [logradouro=" + logradouro + ", cidade="
				+ cidade + ", cep=" + cep + "]";
	}
	
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cep == null) ? 0 : cep.hashCode());
		result = prime * result + ((cidade == null) ? 0 : cidade.hashCode());
		result = prime * result
				+ ((logradouro == null) ? 0 : logradouro.hashCode());
		return result;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		EnderecoEntrega other = (EnderecoEntrega) obj;
		if (cep == null) {
			if (other.cep != null)
				return false;
		} else if (!cep.equals(other.cep))
			return false;
		if (cidade == null) {
			if (other.cidade != null)
				return false;
		} else if (!cidade.equals(other.cidade))
			return false;
		if (logradouro == null) {
			if (other.logradouro != null)
				return false;
		} else if (!logradouro.equals(other.logradouro))
			return false;
		return true;
	}   
}
